The present disclosure relates generally to facilitating collaborative document development.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Various types of documents (e.g., word processing documents, spreadsheets, slides for slideshows, and so forth, may be generated or edited on various types of processor-based systems, such as computers. In certain instances, there may be a single author or editor entering text or formatting changes in a sequential manner, which can be implemented in a straight forward manner. In practice the changes made by a single user may be implemented by applying a change (i.e., a forward action or a forward case change operation) specified by the user and by applying, as needed, any undo or redo operations specified by the user.
However, in collaborative contexts, where changes may be generated in parallel by two or more authors, coordination of the application of the changes made by the different parties may be problematic to implement in practice and may represent a potential for the loss of one party's changes. By way of example, to the extent that each party may be provided the ability to undo their prior change to the document, changes made by the other party may be at risk for loss if not somehow accounted for.
The risk of data or change loss may be even greater in certain contexts where data constructs or structures are employed, particularly to the extent such data constructs may be permitted to reference other portions of a collaborative document that may be changed without explicitly changing the data construct directly. For example, in a table (e.g., spreadsheet) context, a formula may be entered into a cell of the table which references or relies on other cells of the table. In such a context, one or both of the collaborating parties may make changes to the table (such as by inserting, deleting or moving one or more referenced rows, columns or individual cells of the table) that affect the formula even though the formula is not explicitly altered by either party. In such a context, certain of the changes made by one party that affect (e.g., move or delete) one or more of the referenced cells of a formula may be lost due to actions taken by the other party (such as due to an undo operation) that fail to account for the second party's changes.